package com.goodfox.web.generic.role.entity;

import java.io.Serializable;
import java.util.List;

import com.goodfox.web.generic.function.entity.Function;
import com.goodfox.web.generic.provide.annotation.DbEntity;
import com.goodfox.web.generic.provide.annotation.DbField;

/**
 * 
 * @author rainbow
 *
 */
@DbEntity(comment="系统角色",table="DSYS_ROLE")
public class Role implements Serializable {

	@DbField(comment="实例化UID",meaning=false)
	private static final long serialVersionUID = -6553821523551722250L;
	
	@DbField(comment="角色ID",column="ROLE_ID",pk=true,export=false,javaType="String",dataType="VARCHAR2",required=true,maxLength=50)
	private String roleId;

	@DbField(comment="角色层级",column="ROLE_GRADE",export=false,javaType="Long",dataType="NUMBER",maxLength=10)
	private String roleGrade;

	@DbField(comment="角色名称",column="ROLE_NAME",javaType="String",dataType="VARCHAR2",maxLength=50)
	private String roleName;

	@DbField(comment="角色权限",column="ROLE_POWER",export=false,javaType="String",dataType="VARCHAR2",maxLength=50)
	private String rolePower;

	@DbField(comment="角色描述",column="ROLE_DESC",javaType="String",dataType="VARCHAR2",maxLength=200)
	private String roleDesc;

	@DbField(comment="角色状态",column="ROLE_STATE",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String roleState;

	@DbField(comment="适用范围",column="ROLE_SCOPE",export=false,javaType="String",dataType="VARCHAR2",maxLength=2)
	private String roleScope;

	@DbField(comment="功能",fk=true,linkTable="DSYS_FUNCTION",linkColumn="FUN_ID",export=false,direct=false)
	private List<Function> funList;

	@DbField(comment="适用范围",column="ROLE_SCOPE",direct=false)
	private String scopeName;

	@DbField(comment="功能组",export=false,direct=false)
	private String funIds;

	@DbField(comment="功能组",direct=false)
	private String funNames;

	public String getRoleId() {
		return roleId;
	}

	public void setRoleId(String roleId) {
		this.roleId = roleId;
	}

	public String getRoleGrade() {
		return roleGrade;
	}

	public void setRoleGrade(String roleGrade) {
		this.roleGrade = roleGrade;
	}

	public String getRoleName() {
		return roleName;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public String getRolePower() {
		return rolePower;
	}

	public void setRolePower(String rolePower) {
		this.rolePower = rolePower;
	}

	public String getRoleDesc() {
		return roleDesc;
	}

	public void setRoleDesc(String roleDesc) {
		this.roleDesc = roleDesc;
	}

	public String getRoleState() {
		return roleState;
	}

	public void setRoleState(String roleState) {
		this.roleState = roleState;
	}

	public String getRoleScope() {
		return roleScope;
	}

	public void setRoleScope(String roleScope) {
		this.roleScope = roleScope;
	}
	
	public List<Function> getFunList() {
		return funList;
	}

	public void setFunList(List<Function> funList) {
		this.funList = funList;
	}

	public String getScopeName() {
		return scopeName;
	}

	public void setScopeName(String scopeName) {
		this.scopeName = scopeName;
	}

	public String getFunIds() {
		return funIds;
	}

	public void setFunIds(String funIds) {
		this.funIds = funIds;
	}

	public String getFunNames() {
		return funNames;
	}

	public void setFunNames(String funNames) {
		this.funNames = funNames;
	}

}
